﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.Serialization;

namespace NObsidian.Containers
{
    [DataContract]
    public class Campaign : ContainerBase
    {
        [DataMember(Name = "campaign_url", EmitDefaultValue=false)]
        public string CampaignURL { get; set; }

        [DataMember(Name = "visibility", EmitDefaultValue = false)]
        public string Visibility { get; set; }

        [DataMember(Name = "game_master", EmitDefaultValue = false)]
        public User GameMaster { get; set; }

        [DataMember(Name = "play_status", EmitDefaultValue = false)]
        public string PlayStatus { get; set; }

        [DataMember(Name = "players", EmitDefaultValue = false)]
        public List<User> Players { get; set; }

        [DataMember(Name = "fans", EmitDefaultValue = false)]
        public List<User> Fans { get; set; }

        [DataMember(Name = "looking_for_players", EmitDefaultValue = false)]
        public string LookingForPlayers { get; set; }

        [DataMember(Name = "location", EmitDefaultValue = false)]
        public Location Location { get; set; }

        [DataMember(Name = "banner_image_url", EmitDefaultValue = false)]
        public string BannerImageURL { get; set; }
    }

    [DataContract]
    public class Location
    {
        [DataMember(Name = "lat", EmitDefaultValue = false)]
        public string Latitude { get; set; }

        [DataMember(Name = "lng", EmitDefaultValue = false)]
        public string Longitude { get; set; }
    }
}
